package com.ruoyi.zhgd.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 沥青拌合站筛孔数据业务对象 n_asphalt_station_data_sieving
 *
 * @author zyb
 * @date 2023-09-06
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class NAsphaltStationDataSievingBo extends BaseEntity {

    /**
     * 数据主键
     */
    @NotBlank(message = "数据主键不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * 生产数据主键
     */
    @NotBlank(message = "生产数据主键不能为空", groups = { AddGroup.class, EditGroup.class })
    private String dataId;

    /**
     * 基地主键，关联sys_organization表主键
     */
    @NotBlank(message = "基地主键，关联sys_organization表主键不能为空", groups = { AddGroup.class, EditGroup.class })
    private String organizationId;

    /**
     * 拌合站主键，关联sys_station表主键
     */
    @NotBlank(message = "拌合站主键，关联sys_station表主键不能为空", groups = { AddGroup.class, EditGroup.class })
    private String stationId;

    /**
     * 配比主键
     */
    @NotBlank(message = "配比主键不能为空", groups = { AddGroup.class, EditGroup.class })
    private String matchId;

    /**
     * 配方主键
     */
    @NotBlank(message = "配方主键不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gradeId;

    /**
     * 出料时间
     */
    @NotNull(message = "出料时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date dischargeTime;

    /**
     * 0.075mm筛孔通过率
     */
    @NotNull(message = "0.075mm筛孔通过率不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal sieve0d075value;

    /**
     * 0.075mm筛孔预警
     */
    @NotNull(message = "0.075mm筛孔预警不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sieve0d075alarm;

    /**
     * 0.015mm筛孔通过率
     */
    @NotNull(message = "0.015mm筛孔通过率不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal sieve0d15value;

    /**
     * 0.015mm筛预警
     */
    @NotNull(message = "0.015mm筛预警不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sieve0d15alarm;

    /**
     * 0.3mm筛孔通过率
     */
    @NotNull(message = "0.3mm筛孔通过率不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal sieve0d3value;

    /**
     * 0.3mm筛孔预警
     */
    @NotNull(message = "0.3mm筛孔预警不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sieve0d3alarm;

    /**
     * 0.6mm筛孔通过率
     */
    @NotNull(message = "0.6mm筛孔通过率不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal sieve0d6value;

    /**
     * 0.6mm筛孔预警
     */
    @NotNull(message = "0.6mm筛孔预警不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sieve0d6alarm;

    /**
     * 1.18mm筛孔通过率
     */
    @NotNull(message = "1.18mm筛孔通过率不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal sieve1d18value;

    /**
     * 1.18mm筛孔预警
     */
    @NotNull(message = "1.18mm筛孔预警不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sieve1d18alarm;

    /**
     * 2.36mm筛孔通过率
     */
    @NotNull(message = "2.36mm筛孔通过率不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal sieve2d36value;

    /**
     * 2.36mm筛孔预警
     */
    @NotNull(message = "2.36mm筛孔预警不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sieve2d36alarm;

    /**
     * 4.75mm筛孔通过率
     */
    @NotNull(message = "4.75mm筛孔通过率不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal sieve4d75value;

    /**
     * 4.75mm筛孔预警
     */
    @NotNull(message = "4.75mm筛孔预警不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sieve4d75alarm;

    /**
     * 9.5mm筛孔通过率
     */
    @NotNull(message = "9.5mm筛孔通过率不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal sieve9d5value;

    /**
     * 9.5mm筛孔预警
     */
    @NotNull(message = "9.5mm筛孔预警不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sieve9d5alarm;

    /**
     * 13.2mm筛孔通过率
     */
    @NotNull(message = "13.2mm筛孔通过率不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal sieve13d2value;

    /**
     * 13.2mm筛孔预警
     */
    @NotNull(message = "13.2mm筛孔预警不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sieve13d2alarm;

    /**
     * 16mm筛孔通过率
     */
    @NotNull(message = "16mm筛孔通过率不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal sieve16value;

    /**
     * 16mm筛孔预警
     */
    @NotNull(message = "16mm筛孔预警不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sieve16alarm;

    /**
     * 19mm筛孔通过率
     */
    @NotNull(message = "19mm筛孔通过率不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal sieve19value;

    /**
     * 19mm筛孔预警
     */
    @NotNull(message = "19mm筛孔预警不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sieve19alarm;

    /**
     * 26.5mm筛孔通过率
     */
    @NotNull(message = "26.5mm筛孔通过率不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal sieve26d5value;

    /**
     * 26.5mm筛孔预警
     */
    @NotNull(message = "26.5mm筛孔预警不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sieve26d5alarm;

    /**
     * 31.5mm筛孔通过率
     */
    @NotNull(message = "31.5mm筛孔通过率不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal sieve31d5value;

    /**
     * 31.5mm筛孔预警
     */
    @NotNull(message = "31.5mm筛孔预警不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sieve31d5alarm;

    /**
     * 级配预警
     */
    @NotNull(message = "级配预警不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer alarm;


}
